<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    

<script>
// 数据类型转换通常指将其他数据类型转成 字符串 数字 布尔值
// 数据类型转换有两种: 强制转换(显式转换) 和 自动转换(隐式转换)

// 自动转换(隐式转换): 算术运算符

// 在js中 + 号 通常用于算术运算符或字符串拼接
console.log( 1 + 2 );// 3 +算术运算符
console.log( 1 + '2' );// '12' +字符串拼接,自动将1转成字符串
console.log( '1' + 2 );// '12' +字符串拼接,自动将2转成字符串
console.log( '1' + '2' );// '12' +字符串拼接
// 注意: +号两侧,只要有一个是字符串,那么它就是字符串拼接
console.log( {}+'' );// '[object Object]'
console.log( String({})+'' );// '[object Object]'

console.log( 1 + true );// 2 +算术运算符,自动将true转成数字

console.log( 5 - '2' );// 3 自动将'2'转成数字
console.log( 5 - 'a' );// NaN 自动将'a'转成数字

console.log( 2 * '3' );// 6 自动将'3'转成数字
console.log( '6' / 2 );// 3 自动将'6'转成数字
console.log( '6' / '2' );// 3 自动将'6'和'2'转成数字
console.log( '7' % 3 );// 1 自动将'7'转成数字

// JS引擎会根据运算符自动转成适合运算符运算符的数据类型

</script>
</body>
</html>